1. Field of the Invention
This invention relates generally to communication systems, and, more particularly, to a transceiver with an adjustable coding gain to control the complexity of the transceiver processing algorithm.
2. Description of the Related Art
In communications systems, particularly telephony, it is common practice to transmit signals between a subscriber station and a central switching office via a two-wire bi-directional communication channel. The Plain Old Telephone System (POTS), designed primarily for voice communication, provides an inadequate data transmission rate for many modem applications. To meet the demand for high-speed communications, designers have sought innovative and cost-effective solutions that take advantage of the existing network infrastructure. Several technological advancements have been proposed in the telecommunications industry that make use of the existing network of telephone wires. One of these technologies is the xDSL technology. DSL technology uses the existing network of telephone lines for broadband communications. An ordinary twisted pair equipped with DSL interfaces can transmit video, television, and high-speed data.
DSL technologies leave the POTS service undisturbed. Traditional analog voice band interfaces use the same frequency band, 0-4 Kilohertz (kHz), as telephone service, thereby preventing concurrent voice and data use. A DSL interface, on the other hand, operates at frequencies above the voice channels from 100 kHz to 1.1 Megahertz (MHz). Thus, a single DSL line is capable of offering simultaneous channels for voice and data.
DSL systems use digital signal processing (DSP) to increase throughput and signal quality through common copper telephone wire. Certain DSL systems provide a downstream data transfer rate from the DSL Point-of-Presence (POP) to the subscriber location at speeds of about 1.5 Megabits per second (MBPS). The transfer rate of 1.5 MBPS, for instance, is fifty times faster than a conventional 28.8 kilobits per second (KBPS) transfer rate.
One popular version of the DSL technology is Asymmetrical Digital Subscriber Line (ADSL) technology. The ADSL standard is described in ANSI T1.413 Issue 2, the most recent version of which, as of the filing date of the present application, is incorporated herein by reference in its entirety.
ADSL modems use two competing modulation schemes: discrete multi-tone (DMT) and carrierless amplitude/phase modulation (CAP). DMT is the standard adopted by the American National Standards Institute. The technology employed by DMT ADSL modems is termed discrete multi-tone. The standard defines 256 discrete tones. Each tone represents a carrier signal that can be modulated with a digital signal for transmitting data. The specific frequency for a given tone is 4.3125 kHz times the tone number. Tones 1-7 are reserved for voice band and guard band (i.e., tone 1 is the voice band and tones 2-7 are guard bands). Data is not transmitted near the voice band so that voice and data can be transmitted simultaneously on a single line. The guard band helps isolate the voice band from the ADSL data bands. Typically, a splitter may be used to isolate any voice band signal from the data tones. Tones 8-32 are used to transmit data upstream (i.e., from the user), and tones 33-256 are used to transmit data downstream (i.e., to the user). Alternatively, all the data tones 8-256 may be used for downstream data, and upstream data present on tones 8-32 would be detected using echo cancellation. Because more tones are used for downstream communication than for upstream communication, the transfer is said to be asymmetric.
Through a training procedure, the modems on both sides of the connection sense and analyze which tones are less affected by impairments in the telephone line. Each tone that is accepted is used to carry information. Accordingly, the maximum capacity is set by the quality of the telephone connection. The maximum data rate defined by the ADSL specification, assuming all tones are used, is about 8 MBPS downstream and about 640 KBPS upstream. In a typical ADSL system, a central office (CO) modem communicates with a customer premise (CP) modem. The CP modem is typically installed in a home or office.
Techniques have been developed to increase the transfer rate and/or accuracy of the modem data exchange. To support higher data transmission rates, these modems employ powerful, but computationally taxing, algorithms, such as Trellis Coded Modulation (TCM). Generally, during an exchange between modems, the bandwidth of the connection is greater than the amount of user data being exchanged. In such cases where a user is not fully-utilizing the allocated bandwidth, idle cells are inserted to bring the overall data rate up to the capacity of the connection. Idle cells are separated at the receiving end, but they are still modulated by the transmitter and demodulated by the receiver, and thus, they require the same amount of processing as user data. This leads to unnecessary power and processing resource usage due the processing required to support the idle cells. This excess usage is especially inefficient in an application where a single processing resource is used to support a pool of connections (i.e., a central office modem may support multiple connections). The modulating and demodulating of idle cells represents a significant processing and power drain.
Referring to FIG. 1, a block diagram of a prior art modem 10 employing idle data insertion is shown. The modem 10 includes a transmitter 12 and a receiver 14. The transmitter 12 includes a protocol processing unit 16 that receives user data from the computer or communications system employing the modem 10. The protocol processing unit 16 performs standard functions, such as formatting, compressing, serializing, adding control information in accordance with the particular modem protocol being implemented, etc. The protocol processing unit 16 transforms the user data packets to protocol data units, sometimes referred to as frames, depending on the particular protocol.
An idle detector 18 monitors the stream of user data and determines when there is no data to be sent (i.e., user data buffer is empty). The idle detector 18, in response to the status of the user data, selects between the encoded user data from the protocol processing unit 16 and idle data by controlling a multiplexer 20. The specific makeup of the idle data is protocol dependent. Some protocols generate idle frames that include control information indicating that a frame is idle. Other protocols generate idle cells, such as repeating interfill flags.
The output of the multiplexer 20 (i.e., user data or idle data) is received by a modulator 22. The modulator 22 performs protocol specific functions, such as cyclic redundancy checking (CRC), scrambling, forward error correction, and interleaving. The modulator 22 also performs tone ordering, constellation encoding, gain scaling, and an inverse discrete Fourier transform (IDFT) function to provide time domain transmit waveform samples of a carrier or carriers modulated with the data. The set of time domain transmit waveform samples corresponding to a frame of data is referred to as a symbol.
A transmitter analog front end (TX AFE) 24 receives the digital symbol and generates an analog time domain transmit waveform for transmission on a phone line 26 (or other like external connection) coupled to the modem 10. The functions performed by the modulator 22 and TX AFE 24 are identical regardless of whether the transmit waveform represents user data or idle data.
The receiver 14 includes a receiver analog front end (RX AFE) 28 coupled to the phone line 26 for receiving data from an interfacing modem (not shown) communicating with the modem 10. The RX AFE 28 receives an analog waveform and converts it to a series of digital waveform samples. The received waveform samples are processed by a demodulator 30, which transforms the time domain waveform data to frequency domain data by implementing a discrete Fourier transform (DFT). The demodulator 32 performs echo cancellation if required to separate the received waveform from the transmit waveform, a slicing function to determine constellation points from the constellation encoded data, a demapping function to map the identified constellation point back to bits, and a decoding function (e.g., Viterbi decoding if trellis constellation coding is employed). The demodulator 30 also performs tone deordering to reassemble the bytes that were divided among the available tones, forward error correction, CRC checking, and descrambling functions to reconstruct the protocol data units corresponding to the received data.
The reconstructed data is provided to a protocol processing unit 32 to extract the received data from the other control data embedded in the protocol data unit. An idle detector 34 analyzes the received protocol data units and identifies those protocol data units corresponding to idle data. The idle detector 34 controls a multiplexer 36 that selects between the received data generated by the protocol processing unit and an indication of xe2x80x9cNo Data.xe2x80x9d The output of the multiplexer 36 is provided to the computer or communications system that employs the modem 10.
Similar to the transmitter 12, the demodulator 30 performs all of its demodulating and decoding functions prior to identifying idle data. Accordingly, In both the transmitter 12 and the receiver 14, idle data represents a processing overhead that is not applied to the communication of useful data. Because a communications channel is seldom used at its maximum throughput capacity, the processing overhead attributable to idle data represents a significant inefficiency for the modem 10 and the processing resources required to support the modem functionality.
The present invention is directed to overcoming, or at least reducing the effects of, one or more of the problems set forth above.
One aspect of the present invention is seen in a communication device including a transmitter and a first idle detector. The transmitter is adapted to transmit digital data. The digital data includes user data. The transmitter includes a first idle symbol buffer for storing a first idle symbol. The first idle detector is adapted to detect an absence of user data. The transmitter is adapted to transmit the first idle symbol in response to detecting the absence of user data.
Another aspect of the present invention is seen in a method for transmitting data. The method includes defining a first idle symbol. The user data is stored in a buffer. The user data is modulated to generate a user symbol. An absence of user data in the buffer is detected, and the first idle symbol is transmitted in response to detecting the absence of user data.